package com.tong.hao.common.configuration.sftp;

import lombok.Data;
import lombok.extern.slf4j.Slf4j;

/**
 * @ClassName TongSftpConfig
 * @Author 友野浩二
 * @Date 2019/11/30 10:53
 * @Description sh的sftp服务配置
 * @Version 1.0
 *
 * <pre>
 * @Data : 自动添加无参构造器
 * @Builder: 自动添加全参构造器
 *      两个一同使用编译会报错:
 *          错误信息: 无法将类com.tong.hao.ac.service.config.sftp.TongSftpConfig中的构造器TongSftpConfig应用到给定类型
 *          需要: 没有参数
 *          原因: 实际参数列表和形式参数列表长度不同,其实本质上是两个注解同时使用会导致无参构造器消失
 *          解决方法: 手动写一个无参构造器,并添加注解@Tolerate,让lombok假装它不存在
 * </pre>
 */
@Data
@Slf4j
public class TongSftpConfig {

    TongSftpConfig() {
        log.info("TongSftpConfig: {}, {}, {}, {}, {}, {}", ip, port, username, password, remotePath, timeout);
    }

    public void init() {
        log.info("TongSftpConfig init: {}, {}, {}, {}, {}, {}", ip, port, username, password, remotePath, timeout);
    }

    /**
     * ip
     */
    private String ip;

    /**
     * 端口
     */
    private Integer port;

    /**
     * 登录名
     */
    private String username;

    /**
     * 密码
     */
    private String password;

    /**
     * 远程SFTP路径
     */
    private String remotePath;

    /**
     * 超时时间
     */
    private Integer timeout;

}
